package ClassLoader;

/**
 * @Author shangchao
 * @Date 2020/9/26 15:06
 */
public class CLInitDemo {
    public static class Hello {
        static {
            System.out.println("Hello");
        }
    }

    public static void main(String[] args) {
        ClassLoader cl = ClassLoader.getSystemClassLoader();
        String className = CLInitDemo.class.getName() + "$Hello";
        try {
            //ClassLoader的loadClass方法不会执行被加载类的初始化代码（比如static语句块）
            //Class<?> cls = cl.loadClass(className);
            //使用Class.forName的方式，默认会执行被加载类的初始化代码
            Class<?> cls = Class.forName(className);
        } catch (ClassNotFoundException e){
            e.printStackTrace();
        }
    }
}
